﻿
#include <stdio.h>



//struct Node* copyRandomList(struct Node* head)
//{
//    1,创建新节点，连接在每个节点的后面
//    struct Node* cur = head;
//    while (cur)
//    {
//        struct Node* node = (struct Node*)malloc(sizeof(struct Node));
//        assert(node);
//        node->next = NULL;
//        node->val = cur->val;
//
//        struct Node* save = cur->next;
//        cur->next = node;
//        node->next = save;
//
//        cur = save;
//    }
//
//    2,处理random指针
//    cur = head;
//    while (cur)
//    {
//        if (cur->random == NULL)
//        {
//            cur->next->random = NULL;
//        }
//        else
//        {
//            cur->next->random = cur->random->next;
//        }
//
//        cur = cur->next->next;
//    }
//
//    3, 断开相关连接
//    cur = head;
//    struct Node* copyHead, * copyTail;
//    copyHead = copyTail = (struct Node*)malloc(sizeof(struct Node));
//    assert(copyHead);
//    copyHead->next = NULL;
//
//    while (cur)
//    {
//        struct Node* save = cur->next->next;
//        copyTail->next = cur->next;
//        copyTail = copyTail->next;
//
//        cur->next = save;
//        cur = save;
//    }
//
//    return copyHead->next;
//}



//
//struct Node 
//{
//	int val;
//	struct Node* next;
//};
//

//int main()
//{
//
//	double d = 4.32223;
//	printf("%.3fi", d);
//
//
//	system("pause");
//	return 0;
//}






//struct Node* copyRandomList(struct Node* head)
//{
//	struct Node* cur = head;
//	//拷贝节点插入到原节点后
//	while (cur)
//	{
//		//
//		struct Node* copy = (struct Node*)malloc(sizeof(struct Node));
//		copy->val = head->val;
//		//插入
//		copy->next = cur->next;
//		head->next = copy;
//
//		cur = cur->next->next;
//	}
//	//控制拷贝节点的random
//	cur = head;
//	while (cur)
//	{
//		struct Node* copy = cur->next;
//		if (cur->random == NULL)
//		{
//			copy->random = NULL;
//		}
//		else
//		{
//			copy->random = cur->random->next;
//		}
//
//		cur = cur->next->next;
//	}
//	//解下拷贝节点链接成新链表
//
//	struct Node* copyhead = NULL, * tail = NULL;
//	cur = head;
//	while (cur)
//	{
//		struct Node* copy = cur->next;
//		struct Node* next = copy->next;
//		if (tail == NULL)
//		{
//			copyhead = tail = copy;
//		}
//		else
//		{
//			tail->next = copy;
//			tail = tail->next;
//		}
//		cur->next = next;
//		cur = next;
//	}
//
//	return copyhead;
//}

#define symbol 3  //这个就叫做宏定义



//int main()
//{
//
//#if defined(symbol)
//	printf("我没有定义了宏symbol\n");
//#endif
//	
//
//	//printf("%d\n", symbol);
//
//
//	system("pause");
//	return 0;
//}


//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main() {
//    int a, b, c;
//    while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
//        // 64 位输出请用 printf("%lld") to 
//        c = a / (b * b);
//        if (c >= 18.5 && c <= 23.9)
//            printf("Normal");
//        else
//            printf("Abnormal");
//    }
//    return 0;
//}



//int main() {
//    int a, b;
//    while (scanf("%d", &a) != EOF) {
//        b = a % 100;
//        if (b >= 3 && b <= 5)
//            printf("spring\n");
//        if (b >= 6 && b <= 8)
//            printf("summer\n");
//        if (b >= 9 && b <= 11)
//            printf("autumn\n");
//        if (b == 1 || b == 2 || b == 12)
//            printf("winter\n");
//
//
//    }






//#include <iostream>
//#include <algorithm>
//using namespace std;
//#define N 10
//
//struct stu
//{
//	char name[20];
//	double weight;
//	float score1;
//	float score2;
//	float score;
//};
//
//void Swap(char* p1, char* p2)
//{
//	for (int i = 0; i < 20; i++)
//	{
//		char tmp = *p1;
//		*p1 = *p2;
//		*p2 = tmp;
//		p1++;
//		p2++;
//	}
//}
//
//int main(void)
//{
//	struct stu c[10] = {
//		 {"子轩", 75.00, 174, 207, 0},
//	  {"子涵", 75.18, 170, 205, 0},
//	  {"宇轩", 70.01, 173, 207, 0},
//	   {"浩然", 72.54, 168, 209, 0},
//		{"浩宇", 73.99, 170, 200, 0},
//		{"皓轩", 70.02, 173, 207, 0},
//		 {"雨泽", 73.77, 176, 199, 0},
//		 {"博文", 72.89, 178, 202, 0},
//		{"俊杰", 74.56, 180, 210, 0},
//		{"子睿", 75.50, 177, 208, 0}
//	};
//
//	for (int i = 0; i < 10; i++)
//	{
//		c[i].score = c[i].score1 + c[i].score2;
//	}
//
//	for (int i = 0; i < 10; i++)
//	{
//		cout<< " " << c[i].name << " " << c[i].score << endl;
//	}
//
//
//	for (int i = 0; i < 10; i++)
//	{
//		for (int j = 0; j < 10 - 1 - i; j++)
//		{
//			if (c[j].score < c[j + 1].score)
//			{
//				struct stu tmp = c[j];
//				c[j] = c[j + 1];
//				c[j + 1] = tmp;
//				Swap(c[j].name, c[j + 1].name);
//			}
//		}
//	}
//
//
//	for (int i = 0; i < 10; i++)
//	{
//		cout << i + 1 << " " << c[i].name << " " << c[i].score << endl;
//	}
//	return 0;
//}
//



